<?php
    require_once 'utils.php';
    require_once 'mysqli_connect.php';
    
    function tryConnect($name,$MD5pass) {
        global $mysqli;
        $sql = "SELECT * FROM Usuarios WHERE nombreUsuario='$name' AND md5Passwd='$MD5pass'";
        $resulset = $mysqli->query($sql);
        return $resulset && $resulset->num_rows > 0;          
    }
    
    function saveSessionUser($name) {
        global $mysqli;
        $sql = "SELECT * FROM Usuarios WHERE nombreUsuario='$name'";
        $resulset = $mysqli->query($sql);
        $row = $resulset->fetch_array();
        if ($row) {
            
            $user = array(
                'nombreUsuario' => $name,
                'idUsuario' => $row['idUsuario']
            );
            session_start();
            $_SESSION['user'] = $user;
            
            //Esta técnica os puede servir para depurar
            //$str = "IdUsuario=" . $row['idUsuario'];
            //echo $str;
        }
        
    }
    
    $loginResult = new PHPResult();
    
    if (isset($_POST['datos'])) { 
        $user = json_decode($_POST['datos']);
        $name = $mysqli->real_escape_string(check_input($user->name));
        $pass = $mysqli->real_escape_string(check_input($user->pass));
        if (empty($name)) {
            $loginResult->mensaje = "No se ha introducido el nombre de usuario";
        } else if (empty($pass)) {
            $loginResult->mensaje = "No se ha introducido la contraseña";
        } else if (tryConnect($name,md5($pass))) {
            saveSessionUser($name);
            $loginResult->resultado = true;
            $loginResult->mensaje = "Conexión correcta";    
        } else {            
            $loginResult->mensaje = "Usuario o contraseña incorrectos";            
        }        
    } else {
        $loginResult->mensaje = "Error al recibir los datos";
    }
    
    echo json_encode($loginResult);
?>
